home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1987 August / Ahoy_Magazine_87-08_1987_Double_L_Side_A.d64 / dir 1 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  10KB  |  296 lines

  1. 30 rem********************************
  2. 32 rem*         menu program         *
  3. 34 rem*          designed by         *
  4. 36 rem*       double l software      *
  5. 38 rem* (c) 1987 all rights reserved *
  6. 40 rem********************************
  7. 50 poke53265,peek(53265)and239
  8. 60 clr:gosub4000
  9. 80 dim p$(25),in$(25,5):gosub5000
  10. 100 poke53280,0:poke53281,0:printchr$(14):gosub2500:gosub5900
  11. 120 gosub800:poke53265,peek(53265)or16
  12. 140 h=1:g=0:l=8:lc=55590:p=8
  13. 150 fori=8to19:g=g+1:printleft$(l$,i)tab(14)"[154]"p$(g):next
  14. 204 f=len(p$(h)):fori=0tof:pokelc+i,7:next:gosub1000
  15. 205 printleft$(l$,p)tab(10)pt$
  16. 206 getan$:ifan$=""then206
  17. 208 ifan$=chr$(17)then1250
  18. 210 ifan$=chr$(145)then1300
  19. 215 ifan$=chr$(13)then2000
  20. 220 ifan$=chr$(32)andg=>24thengosub3000:goto140
  21. 222 ifan$=chr$(32)thengosub3000:h=13:lc=55590:p=8:goto150
  22. 225 goto204
  23. 230 print"[147]";:poke53280,0:poke53281,6
  24. 235 print"[158][204]oading...";chr$(34);p$(h)chr$(34);""
  25. 240 print "load";chr$(34);p$(h);chr$(34);",8"
  26. 250 print "run":print "[145][145][145][145][145][145][145][145][145]"
  27. 260 poke 631,13:poke 632,13:poke 198,2:end
  28. 800 print"[147]":printleft$(l$,2)tab(2)"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  29. 810 printleft$(l$,3)tab(2)"[158][221]  [154][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174][158]  [221]"
  30. 820 fori=1to16:printtab(2)"[221]  [154][221]                            [221][158]  [221]":next
  31. 830 printleft$(l$,20)tab(2)"[221]  [154][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][158]  [221]"
  32. 835 printleft$(l$,21)tab(2)"[158][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  33. 840 printleft$(l$,22)tab(1)"[155][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  34. 850 printleft$(l$,23)tab(1)"[221] [158][195]rsr[155]=[211]elect  [211]pc[155]=[205]ore  [150][195]/[210][155]=[197]xecute [221]"
  35. 860 printleft$(l$,24)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  36. 870 printleft$(l$,4)tab(10)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  37. 880 printtab(10)"[221] [205] [193] [201] [206]  [205] [197] [206] [213] [221]"
  38. 890 printtab(10)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  39. 900 return
  40. 1000 s=54272:pokes+23,0:pokes+24,15
  41. 1010 pokes+6,0:pokes+5,12:pokes+1,70:pokes+3,40
  42. 1020 pokes+4,0:pokes+4,65:ford=1to100:next:pokes+4,0:return
  43. 1250 printleft$(l$,p)tab(10)"[154]  ":fori=0tof:pokelc+i,14:next
  44. 1260 h=h+1:ifh>gthenh=h-12
  45. 1262 p=p+1:ifp>19thenp=8
  46. 1265 lc=lc+40:iflc>56030thenlc=55590
  47. 1270 goto204
  48. 1300 printleft$(l$,p)tab(10)"[154]  ":fori=0tof:pokelc+i,14:next
  49. 1310 h=h-1:ifh<g-11thenh=h+12
  50. 1312 p=p-1:ifp<8thenp=19
  51. 1315 lc=lc-40:iflc<55590thenlc=56030
  52. 1320 goto204
  53. 1550 sys828
  54. 1560 printleft$(l$,13)tab(4)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  55. 1570 printleft$(l$,14)tab(4)"[221] [212]his is a 128 [208]rogram.[201]t may [221]"
  56. 1580 printleft$(l$,15)tab(4)"[221] not be loaded in the 64 mode.[221]"
  57. 1590 printleft$(l$,16)tab(4)"[221] [217]ou must switch to the 128   [221]"
  58. 1600 printleft$(l$,17)tab(4)"[221] mode in order to load this   [221]"
  59. 1610 printleft$(l$,18)tab(4)"[221] program successfully. [213]se the[221]"
  60. 1620 printleft$(l$,19)tab(4)"[221] prescribed method which is...[221]"
  61. 1630 printleft$(l$,20)tab(4)"[221] [196][204]oad ''[208]rogname''           [221]"
  62. 1640 printleft$(l$,21)tab(4)"[221]       [158][[208]ress any [203]ey]        [221]"
  63. 1650 printleft$(l$,22)tab(4)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  64. 1660 printleft$(l$,23)tab(3)"[155]                                  ":gosub1000
  65. 1670 getan$:ifan$=""then1670
  66. 1680 sys882:goto225
  67. 1997 rem **************************
  68. 1998 rem ****  window routine  ****
  69. 1999 rem **************************
  70. 2000 sys828
  71. 2010 printleft$(l$,5)tab(11)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  72. 2030 printleft$(l$,6)tab(11)"[221][211]ee [201]nstructions[221]"
  73. 2040 printleft$(l$,7)tab(11)"[221][210]un [208]rogram     [221]"
  74. 2050 printleft$(l$,8)tab(11)"[221][195]ancel [215]indow   [221]"
  75. 2060 printleft$(l$,9)tab(11)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  76. 2070 po=55507:x=0
  77. 2080 fori=1to16:pokepo+i,1:next:gosub1000
  78. 2090 getan$:ifan$=""then2090
  79. 2100 ifan$=chr$(17)thengosub2200:po=po+40:x=x+1:ifpo>55587thenpo=55507
  80. 2110 ifx>2thenx=0
  81. 2120 ifan$=chr$(13)then2140
  82. 2130 goto2080
  83. 2140 ifx=0thensys882:goto4100
  84. 2145 ifx=2then2160
  85. 2146 ifh=3orh=8orh=9orh=10orh=15orh=16orh=22thensys882:goto1550
  86. 2159 ifx=1thensys882:goto230
  87. 2160 sys882:goto225
  88. 2200 fori=1to16:pokepo+i,5:next:return
  89. 2500 p$(1)="[198]lankspeed"
  90. 2510 p$(2)="64 [194]ug [210]ep [201][201]"
  91. 2520 p$(3)="128 [194]ug [210]ep ii"
  92. 2530 p$(4)="[211]teeplechase"
  93. 2540 p$(5)="[194]atter [213]p!"
  94. 2550 p$(6)="[211]canner"
  95. 2560 p$(7)="[210]oute 64"
  96. 2570 p$(8)="banner print"
  97. 2580 p$(9)="ahoy!.bnr"
  98. 2590 p$(10)="screenswap"
  99. 2600 p$(11)="[211]mall [211]traight"
  100. 2610 p$(12)="[211]hort [211]ort 1"
  101. 2615 p$(13)="[208]olygon [208]lay"
  102. 2620 p$(14)="[209]uicksort"
  103. 2630 p$(15)="archer"
  104. 2640 p$(16)="sine draw c-128"
  105. 2650 p$(17)="[195]olorful 64"
  106. 2660 p$(18)="[195]haser [205]arquee"
  107. 2670 p$(19)="[206]umber [210]ounding"
  108. 2690 p$(20)="reset to c-64"
  109. 2700 p$(21)="[198]ree '[206] [197]asy"
  110. 2710 p$(22)="c-128 justify"
  111. 2720 p$(23)="[194]ranch [195]alc"
  112. 2730 p$(24)="[196]irect [204]oads"
  113. 2740 return
  114. 3000 forcl=8to19:printleft$(l$,cl)tab(14)"[154]                ":next
  115. 3010 printleft$(l$,p)tab(10)"[154]  ":return
  116. 4000 rem disable shift/com key
  117. 4010 poke775,200:rem disable listing
  118. 4020 poke808,234:rem disable stop/restore
  119. 4030 l$="":pt$="[154]=>":return
  120. 4100 sys828
  121. 4110 printleft$(l$,8)tab(1)"[159][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  122. 4120 fori=9to14:printleft$(l$,i)tab(1)"[221]                                    [221]"
  123. 4125 next
  124. 4130 printleft$(l$,15)tab(1)"[221]   [158][[195]/[210]=[195]ancel * [211]pc=[210]un [208]rogram][159]   [221]"
  125. 4140 printleft$(l$,16)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  126. 4145 printleft$(l$,23)tab(3)"[155]                                  ":gosub1000
  127. 4150 fori=1to5:printleft$(l$,8+i)tab(3)"[159]"in$(h,i):next
  128. 4160 getan$:ifan$=""then4160
  129. 4170 ifan$=chr$(13)thensys882:goto204
  130. 4180 ifh=3orh=8orh=9orh=10orh=15orh=16orh=22thensys882:goto1550
  131. 4190 ifan$=chr$(32)thensys882:goto230
  132. 4200 goto4160
  133. 5000 fori=828to935:reada:pokei,a:next:return
  134. 5010 data 160,0,185,0,4,153,0,192
  135. 5020 data 185,0,216,153,240,195,185,250
  136. 5030 data 4,153,250,192,185,250,216,153
  137. 5040 data 234,196,185,244,5,153,244,193
  138. 5050 data 185,244,217,153,228,197,185,238
  139. 5060 data 6,153,238,194,185,238,218,153
  140. 5070 data 222,198,200,208,205,96,160,0
  141. 5080 data 185,0,192,153,0,4,185,240
  142. 5090 data 195,153,0,216,185,250,192,153
  143. 5100 data 250,4,185,234,196,153,250,216
  144. 5110 data 185,244,193,153,244,5,185,228
  145. 5120 data 197,153,244,217,185,238,194,153
  146. 5130 data 238,6,185,222,198,153,238,218
  147. 5140 data 200,208,205,96
  148. 5799 rem ---------------------------
  149. 5800 rem ** max of 33 chrs in length **
  150. 5801 rem ---------------------------
  151. 5900 fori=1to24:forx=1to5:readin$(i,x):next:next:return
  152. 5999 rem program #1
  153. 6000 data "[212]his is [193]hoy!'s [205]achine [204]anguage "
  154. 6001 data "entry program for our adventurous"
  155. 6002 data "readers who like to type in the"
  156. 6003 data "programs from our magazine."
  157. 6004 data " "
  158. 6009 rem program #2
  159. 6010 data "[193]hoy!'s checksum program, for mis-"
  160. 6011 data "takeproof typing of [195]-64 [194][193][211][201][195]    "
  161. 6012 data "programs printed in [193]hoy!. ([198]or    "
  162. 6013 data "programs published from [205]ay 1987 "
  163. 6014 data "only! [207]therwise use 64 [194]ug [210]ep.)
  164. 6019 [143] program #3
  165. 6020 [131] "atnhoy!'s checksum program, for mis- "
  166. 6021 [131] "takeproof typing of len-128closepeekatn(NULL)right$len "
  167. 6022 [131] "programs printed in atnhoy! (ascor pro-"
  168. 6023 [131] "grams published from (NULL)ay 1987 only!"
  169. 6024 [131] "(NULL)therwise use 128 peekug (NULL)epellent.)"
  170. 6029 [143] program #4
  171. 6030 [131] "(NULL)teeplechase is a horse racing "
  172. 6031 [131] "game that involves jumping over "
  173. 6032 [131] "obstacles such as walls and hedges."
  174. 6033 [131] "(NULL)ou can race against the clock or"
  175. 6034 [131] "another player. mid$oystick in (NULL)ort 2."
  176. 6039 [143] program #5
  177. 6040 [131] "peekatter (NULL)p! is a one-player baseball"
  178. 6041 [131] "simulation for the 64 that will   "
  179. 6042 [131] "sharpen your batting eye against  "
  180. 6043 [131] "a computerized pitcher. mid$oystick  "
  181. 6044 [131] "in (NULL)ort 2.              "
  182. 6049 [143] program #6
  183. 6050 [131] "(NULL)canner is a graphic-oriented     "
  184. 6051 [131] "machine language monitor for the"
  185. 6052 [131] "64 designed to let beginners  "
  186. 6053 [131] "observe the contents of memory in"
  187. 6054 [131] "binary, left$ex, anad atn(NULL)lenright$right$.         "
  188. 6059 [143] program #7
  189. 6060 [131] "(NULL)oute 64 allows you to eliminate  "
  190. 6061 [131] "references to line numbers and   "
  191. 6062 [131] "replace them with labels, for    "
  192. 6063 [131] "easier line referencing.      "
  193. 6064 [131] "                           "
  194. 6069 [143] program #8
  195. 6070 [131] "peekanner (NULL)rint for the len-128 makes it"
  196. 6071 [131] "possible to design and print     "
  197. 6072 [131] "banners, with a variety of editing "
  198. 6073 [131] "options. mid$oystick in (NULL)ort 2. (NULL)ee "
  199. 6074 [131] "sample a banner under atnhoy!.bnr. "
  200. 6079 [143] program #9
  201. 6080 [131] "(NULL)ample banner for use with       "
  202. 6081 [131] "peekanner (NULL)rint.                     "
  203. 6082 [131] "                                 "
  204. 6083 [131] "                                  "
  205. 6084 [131] "                                   "
  206. 6089 [143] program #10
  207. 6090 [131] "(NULL)rogram for controlling the screen"
  208. 6091 [131] "shuttling hardware for the len-128  "
  209. 6092 [131]"described this month's (NULL)upert     "
  210. 6093 [131]"(NULL)eport.                          "
  211. 6094 [131]"                                   "
  212. 6099 [143] program #11
  213. 6100 [131]"len-64 solution to the atnpril '87     "
  214. 6101 [131]"lenommodare requiring the simulation "
  215. 6102 [131]"of a five-dice toss as in the game"
  216. 6103 [131]"(NULL)ahtzee.                          "
  217. 6104 [131]"                               "
  218. 6109 [143] program #12
  219. 6110 [131]"(NULL)olution to the atnpril '87 lenommodare"
  220. 6111 [131]"requiring a one-line sorting      "
  221. 6112 [131]"routine to arrange six input       "
  222. 6113 [131]"values in numerical order.        "
  223. 6114 [131]"                                  "
  224. 6119 [143] program #13
  225. 6120 [131]"(NULL)olution to the atnpril '87 lenommodare"
  226. 6121 [131]"requiring a program to determine  "
  227. 6122 [131]"a variety of polygon values.      "
  228. 6123 [131]"                                   "
  229. 6124 [131]"                            "
  230. 6129 [143] program #14
  231. 6130 [131]"atn lenommodares demonstration of the  "
  232. 6131 [131]"(NULL)uicksort routine, presented in  "
  233. 6132 [131]"conjunction with other solutions "
  234. 6133 [131]"to (NULL)hort (NULL)ort.                    "
  235. 6134 [131]"                        "
  236. 6139 [143] program #15
  237. 6140 [131]"atn (NULL)enture-inspired game for the   "
  238. 6141 [131]"len-128 featuring multiple screens,  "
  239. 6142 [131]"25 sprite shapes, 10 dungeon levels"
  240. 6143 [131]"and 5 different floor plans. mid$oy-  "
  241. 6144 [131]"stick in (NULL)ort 2.                  "
  242. 6149 [143] program #16
  243. 6150 [131]"ascrom (NULL)ip's atnhoy!: a program allow-"
  244. 6151 [131]"ing the implementation of the sine"
  245. 6152 [131]"function with hi-res graphics on   "
  246. 6153 [131]"the len-128.                         "
  247. 6154 [131]"                                 "
  248. 6159 [143] program #17
  249. 6160 [131]"ascrom (NULL)ips atnhoy!: a routine making "
  250. 6161 [131]"it possible to use up to 29        "
  251. 6162 [131]"different backround colors on a  "
  252. 6163 [131]"len-64.                              "
  253. 6164 [131]"                                  "
  254. 6169 [143] program #18
  255. 6170 [131]"ascrom (NULL)ips atnhoy!: a routine which "
  256. 6171 [131]"uses extended background color mode"
  257. 6172 [131]"to create a marquee of moving "
  258. 6173 [131]"lights around the border of the   "
  259. 6174 [131]"screen.                          "
  260. 6179 [143] program #19
  261. 6180 [131]"ascrom (NULL)ips atnhoy!: a program allow-"
  262. 6181 [131]"ing for greater precision of      "
  263. 6182 [131]"number rounding.                  "
  264. 6183 [131]"                                  "
  265. 6184 [131]"                                  "
  266. 6189 [143] program #20
  267. 6190 [131]"ascrom (NULL)ips atnhoy!: a program which   "
  268. 6191 [131]"allows the reset button to be      "
  269. 6192 [131]"used in len-64 mode.                "
  270. 6193 [131]"                                    "
  271. 6194 [131]"                                 "
  272. 6199 [143] program #21
  273. 6200 [131]"ascrom (NULL)ips atnhoy!: a routine that  "
  274. 6201 [131]"reports on the bytes free on your  "
  275. 6202 [131]"len-64 with a single touch of the   "
  276. 6203 [131]"back arrow key.                   "
  277. 6204 [131]"                            "
  278. 6209 [143] program #22
  279. 6210 [131]"ascrom (NULL)ips atnhoy!: a program       "
  280. 6211 [131]"permitting easy centering and    "
  281. 6212 [131]"justification of len-128 strings.  "
  282. 6213 [131]"                                "
  283. 6214 [131]"                            "
  284. 6219 [143] program #23
  285. 6220 [131]"ascrom (NULL)ips atnhoy!: a routine that    "
  286. 6221 [131]"allows chr$(NULL)(NULL)(NULL)s and chr$(NULL)(NULL)(NULL)peeks to ref-"
  287. 6222 [131]"erence labels instead of line      "
  288. 6223 [131]"numbers.                          "
  289. 6224 [131]"                               "
  290. 6229 [143] program #24
  291. 6230 [131]"ascrom (NULL)ips atnhoy!: (NULL)his little    "
  292. 6231 [131]"utility lets you place an embedded"
  293. 6232 [131]",8 or ,8,1 after a peekatn(NULL)right$len or ml   "
  294. 6233 [131]"program filename.                  "
  295. 6234 [131]"                             "
  296.